Impresión de Números Enteros
Si desea imprimir Mi número: 140, puede escribir:
fn main() { print!("My number: 140"); }o, utilizando un marcador de posición y un argumento adicional:
fn main() { print!("My number: {}", "140"); }o bien, eliminando las comillas alrededor del segundo argumento:
fn main() { print! ("My number: {}", 140); }En la última declaración, el segundo argumento no es una cadena literal, sino un número entero literal, o, para abreviar, un entero literal.
Los números enteros son otro tipo de datos, con respecto a las cadenas.
La macro print también puede utilizar números enteros para reemplazar el marcador de posición correspondiente dentro de su primer argumento.
De hecho, el compilador interpreta la cadena 140 del código fuente como un número expresado en formato decimal. Genera el número equivalente en formato binario y lo guarda en el programa ejecutable.
En tiempo de ejecución, el programa toma ese número binario; lo transforma en la cadena “140”, usando la notación decimal; luego reemplaza el marcador de posición con esa cadena, generando así la cadena a imprimir; y finalmente envía la cadena a la terminal.
Este procedimiento explica, por ejemplo, por qué si se escribe el siguiente programa:
fn main() { print!("My number: {}", 000140); }El compilador genera exactamente el mismo programa ejecutable generado anteriormente. De hecho, al convertir la cadena fuente «000140» a formato binario, se ignoran los ceros iniciales.
Los tipos de argumentos también pueden ser mixtos. Esta declaración:
fn main() { print!("{}: {}", "My number", 140); }Imprimirá la misma línea que antes. Aquí, el primer marcador corresponde a una cadena literal, mientras que el segundo corresponde a un entero literal.